package cn.joyfulmedia.mis.service.interfaces;

import cn.joyfulmedia.common.util.page.Pagination;
import cn.joyfulmedia.entity.ExamMisRole;

import java.util.List;

public interface RoleService {
    /**
     * 保存
     */
    public Integer saveRole(ExamMisRole entity) throws Exception;

    /**
     * 修改
     */
    public Integer updateRoleById(ExamMisRole entity) throws Exception;

    /**
     * 根据ID查找
     *
     * @param id
     * @return
     * @throws Exception
     */
    ExamMisRole selectRoleById(Object id) throws Exception;

    List<ExamMisRole> listPage(ExamMisRole role, Pagination pagination);

    /**
     * 根据角色id删除该角色所有权限
     *
     * @param id
     * @return
     */
    public Integer delPermBYId(Long id);

    /**
     * 根据用户删除对应角色
     *
     * @param id
     * @return
     */
    public Integer delRoleBYId(Long id);

    /**
     * 给角色设置权限
     *
     * @param rid
     * @param id
     * @return
     */
    public Integer bathSavePerm(Long[] rid, Long id);

    /**
     * 给用户设置角色
     *
     * @param rid
     * @param id
     * @return
     */
    public Integer bathSaveRole(Long[] rid, Long id);

    /**
     * 查找用户拥有角色
     *
     * @param id
     * @return
     */
    public List<ExamMisRole> findByAccountId(Long id);
}
